const { CategoryModel } = require("../model/DataModel");

class CategoryService {
  async create(data) {
    return await CategoryModel.create({ ...data })
  }

  async findById(id) {
    return await CategoryModel.findById(id)
  }

  async findAll(page = 1, size = 10) {
    const data = await CategoryModel
      .find().skip((page - 1) * size).limit(size)
    const count = await CategoryModel.countDocuments()
    return { data, count }
  }

  async update(id, data) {
    return await CategoryModel.updateOne({ _id: id }, { ...data })
  }

  async remove(id) {
    return await CategoryModel.deleteOne({ _id: id })
  }
}

module.exports = new CategoryService()